Telegram Group Search
Что будет выведено в результате работы скрипта?
Что будет выведено в результате работы скрипта?
Anonymous Quiz
67%
int(8) int(5)
6%
int(8) int(5) int(7) int(4)
24%
int(8) int(7) int(5) int(4)
3%
int(7) int(4)
🏗 7 архитектурных паттернов, которые должен знать каждый программист

Если вы всерьёз строите карьеру в разработке, то без архитектурных паттернов никуда. Они помогают проектировать системы, которые не развалятся при первом же проде — масштабируемые, отказоустойчивые и вменяемые в поддержке.

➡️ В статье вас ждёт

— Circuit Breaker — как не сжечь систему повторными ошибками
— Event Sourcing — зачем сохранять историю изменений вместо текущего состояния
— SideCar — как отделить логику от инфраструктуры
— CQRS — почему чтение и запись лучше разводить по разным моделям
— Rate Limiting — как защититься от перегрузки
— Strangler Fig — пошаговая миграция без боли
— Health Endpoint Monitoring — как делать доступный мониторинг состояния системы

Это не базовые темы, но если вы хотите прокачаться и разбираться в архитектуре — самое время углубиться.

🔵 Для полного понимания Архитектуры, забирайте наш курс → «Архитектуры и шаблоны проектирования»

📎 Статья

Proglib Academy #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
⌨️ Топ-вакансий по PHP за неделю

Senior PHP Developer (Bitrix) — от 3 500 до 4 500 €, Офис (Кипр)

TechLead PHP — 400 000 ₽, удалёнка (Москва)

Senior PHP Developer — от 250 000 до 400 000 ₽, удалёнка (Москва)

➡️ Еще больше топовых вакансий — в нашем канале PHP Jobs
📢 Работа с IP

Иногда вам может понадобиться работать с IP-адресами. Laravel использует компонент HttpFoundation из Symfony, который поставляется с полезными помощниками для работы с IP-адресами 🚀

Библиотека пхпшника #буст
🔧 Как без боли обновить PHP-проект на Symfony

Обновление PHP-проекта часто воспринимается как рискованная операция: что-то ломается, срочные фиксы летят в прод, команда в стрессе. Однако при правильном подходе процесс становится предсказуемым и управляемым.

🧰 1. Подготовка инструментов
Перед обновлением важно собрать «ящик инструментов»: автоматические тесты, статический анализ, линтеры. Например, инструмент Bruno отлично подходит для API-тестирования — лёгкий, удобный для работы в команде и хорошо интегрируется с Git.

📋 Что нужно сделать:
Выполнить debug:router для получения списка маршрутов.
Определить критичные эндпоинты и написать для них тест-сценарии.
Интегрировать тесты в CI для автоматического контроля стабильности.

⬆️ 2. Обновление зависимостей и окружения
Обновить composer.json и конфигурации окружения (например, Docker) под новую версию PHP, например 8.3.
Проверить список устаревших пакетов через composer outdated.
Выполнять обновление поэтапно — по одному или нескольким пакетам за раз.
Запустить PHPStan для статического анализа и PHP CS Fixer для форматирования кода.
Проверить и устранить устаревшие конструкции, отображаемые в Symfony Profiler или тестах.

🔄 3. Рефакторинг с использованием Rector
Rector позволяет автоматически модернизировать код: обновить синтаксис под новую версию PHP, улучшить читаемость, удалить мёртвый код. Настраивается через конфигурационные файлы с наборами правил (например, PHP 8.3, codeQuality, deadCode). Рефакторинг проводится поэтапно с обязательным прогоном тестов после каждого шага.

🛠️ 4. Обновление CI/CD
Актуализировать образы и зависимости в CI-пайплайне.
Убедиться, что все стадии (тесты, линтеры, анализ) выполняются успешно.
Задеплоить на стейджинг и проверить стабильность работы.

🧪 Пример GitHub Actions с Bruno:

- name: Run Bruno API tests
run: |
npm install -g @usebruno/cli
php -S localhost:8000 -t public &
sleep 2
cd bruno && bru run --env dev

🖼️ 5. Тестирование фронтенда
Даже если проект в основном бэкендовый, визуальные баги и ошибки пользовательского сценария могут остаться незамеченными. Тесты с помощью Cypress или Puppeteer позволяют отследить визуальные и поведенческие ошибки в интерфейсе.

🔗 Medium
Создание пользовательских классов в Laravel без пользовательских команд

🔧 Проблема


Laravel предоставляет команды Artisan для генерации стандартных компонентов (модели, контроллеры и т.д.), но не поддерживает создание пользовательских классов. Обычно разработчики создают отдельные команды, например, make:service или make:repository, что требует времени на настройку и поддержку.

💡 Решение: пакет laravel-custom-make
Пакет usmanzahid/laravel-custom-make позволяет:
🔸 Определять пользовательские типы классов в одном конфигурационном файле.

🔸 Указывать путь для сохранения и шаблон (stub) для каждого типа.

🔸 Генерировать классы с помощью команды php artisan make:custom

👉 Читать статью

Библиотека пхпшника #буст
🚨 Смешные новости про IT теперь в одном канале

Мы запустили @hahacker_news — наш новый юмористический IT-канал.

Туда будем постить лучшие шутки до 19го мая, которые вы присылали на конкурс.

👉 @hahacker_news — голосование уже идёт, переходите, читайте, угарайте и оставляйте реакции
🐾 Проклятие или благословение

Вопрос древний, как интернет: помогает ли кошка работать? Или это пушистая диверсия в лапах?

За что кошку можно любить на рабочем месте:

Погладил кота — забыл о дедлайнах. Правда, вместе с дедлайнами можно забыть и о задачах. Но нервы целы.

Когда твой ноутбук превращается в трон для кота, начинаешь задумываться о великих целях... например, купить второй ноутбук.

Кошка никогда не делает ничего лишнего. Хотите продуктивности? Учитесь у мастеров минимализма.

💬 А есть ли минусы у кошек? Делитесь своими мыслями в комментариях👇 Заодно можете покидать своих пушистых помощников 🐈

Библиотека пхпшника #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
😀 Самые полезные хоткеи в VS Code

💡 Хочешь редактировать код быстрее и чувствовать себя как джедай IDE? Лови подборку горячих клавиш, которые действительно ускоряют работу и делают процесс редактирования в разы приятнее:

🔥 Редактирование


🔹 Alt + ↑ / ↓ — переместить строку вверх или вниз.

🔹 Shift + Alt + ↑ / ↓ — скопировать строку вверх или вниз.

🔹 Ctrl + / — закомментировать или раскомментировать строку.

💬 А какие хоткеи у вас самые любимые? Может, есть свои "скрытые фишки" работы в VS Code? Делитесь в комментариях👇

Библиотека пхпшника #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 Работаем с NATS в PHP: просто, быстро и неожиданно

Что такое NATS?
NATS — это высокопроизводительный брокер сообщений, написанный на Go. Он поддерживает модели PUB/SUB и очереди через JetStream. Работает по простому текстовому протоколу, с которым можно взаимодействовать даже через telnet.

PHP и NATS: возможно ли?
Да! Существует библиотека basis-company/nats, которая позволяет PHP-приложениям подключаться к NATS, публиковать и получать сообщения. В статье подробно описано:
🔸 Как установить и настроить библиотеку.
🔸 Как создать поток с политикой WORK_QUEUE.
🔸 Как публиковать и обрабатывать сообщения.

Почему это важно?
Интеграция PHP с современными брокерами сообщений открывает новые возможности для масштабируемых и распределённых систем. Теперь PHP-разработчики могут использовать преимущества асинхронной обработки данных без перехода на другие языки.

📖 Читайте статью полностью на Хабре
💻 Подборка новостей по PHP за неделю:​

🔹 Laravel 12.13: добавлена возможность именования отложенных замыканий (queued closures), новый метод assertRedirectBack() для тестирования и поддержка колбэков в методе коллекций containsOneItem()

🔹 PHP 8.3.21 и 8.4.7: выпущены обновления с исправлениями ошибок и улучшениями стабильности. Рекомендуется обновиться до этих версий для обеспечения надежной работы приложений

🔹 Symfony 7.3.0-BETA2: вышла вторая бета-версия Symfony 7.3.0, предоставляющая разработчикам возможность протестировать новые функции и улучшения перед официальным релизом, запланированным на конец мая 2025 года

🔹 Неделя Symfony #958 (5–11 мая 2025 года): на этой неделе были объединены 49 пул-реквестов (36 в коде и 13 в документации) и закрыт 31 issue (23 в коде и 8 в документации). Кроме того, продолжилось освещение новых функций Symfony 7.3 и подготовки к конференции SymfonyOnline в июне 2025 года

Библиотека пхпшника #свежак
2025/05/18 00:01:09
Back to Top
HTML Embed Code: